pspadico.png PSPad - makra

Co je to makro
Makro je posloupnost příkazů editoru. Tuto posloupnost lze zaznamenat a následně opakovaně přehrávat. Tím lze zjednodušit opakované operace (příklady použití jsou uvedeny níže)

Jak to pracuje

Stisknutím tlačítka záznam (CTRL+F5) se začínají všechny operace s textem v editoru zaznamenávat.
Po ukončení záznamu (ALT+F5) se záznam ukončí a makro je připraveno k použití.
Nyní je možno makro opakovaně spouštět (F5)
Vytvořená makra je možno ukládat a načítat z disku. Ukládají se s příponou .PMR (PSPad macro record)

Omezení

Do makra se nezaznamenávají akce, provedené pomocí myši. Označování bloku dělejte pomocí SHIFT+šipky
Makro nepracuje s příkazy pro hledání a nahrazení textu
Délka makra je omezena pouze dostupnou pamětí počítače. Vzhledem k tomu, že jeden záznam tvoří pouze kód příkazu a znak je velikost téměř neomezená.

Příklady použití


Příklad1:
Měl jsem text ve tvaru:
21: if KeyComp('del') then Result := tkKey else
21: if KeyComp('start') then Result := tkKey else
90: if KeyComp('findstr') then Result := tkKey else
Potřeboval jsem smazat vždy pro určitý počet řádků první tři znaky a vložit jednu mezeru. V tomto případě nelze použít hledání s nahrazením, protože text není stejný. Samozřejmě, že by to šlo přes sloupcový blok odmazat, potom si jako sloupcový blok označit první sloupec mezer a přes hledat a nahradit jednu mezeru nahradit dvěmi. Ale je to spousta práce s myší, přepínání bloků, protože upravený text potřebuji následně umístit do jiného souboru.To je přesně ta správná práce pro MAKRO. Postup záznamu:
·postavím se na řádek a spustím záznam  
·HOME, 3x delete, 1x mezerník  
·šipka dolů  
·ukončit záznam  
Nyní stačí opakovaně mačkat F5 a řádky jsou upraveny

Příklad2:
Potřebuji vytvořit následující řádky
fIdentFuncTable[72] := Func72;
fIdentFuncTable[73] := Func73;
fIdentFuncTable[74] := Func74;

Mohl bych si je kopírovat a přepisovat čísla. Můžu ale využít MAKRO:
·na řádky si zapíšu 2x za sebou požadované číslo (7272, 7373 atd.)  
·postavím se na řádek a zapnu záznam  
·HOME a napíšu text: fIdentFuncTable[  
·2x šipka doprava  
·napíšu text: ] := Func  
·2x šipka doprava  
·dopíšu středník a šipka dolů  
·ukončím záznam  
Mačkám F5 a před očima se mi objevují požadované řádky. Řádků bylo moc a takhle to byla otázka chvilky bez zbytečného najíždění a přepisování čísel na dvou místech v kopírovaných řádcích